﻿/*
 * Created by SharpDevelop.
 * User: Miguel
 * Date: 08/10/2011
 * Time: 03:23 p.m.
 * 
 * To change this template use Tools | Options | Coding | Edit Standard Headers.
 */
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Linq.Expressions;
using Business_Entity;
using DAOFactory;

namespace Business_Logic
{
	/// <summary>
	/// Description of BLMascota.
	/// </summary>
	public class BLMascota
    {

        //private static List<BLMascota> mascotas;

        public static void inicializar()
        {

        }
 
        public List<BEMascota> obtenerListaMascotas(BECliente beCliente){
        	DAOMascota daoMascota = new DAOMascota();
        	return daoMascota.obtenerListaMascotas(beCliente);        	
        }        		

		public int eliminarMascotas(BEMascota beMascota)
		{
			DAOMascota daoMascota = new DAOMascota();
			return daoMascota.eliminarMascota(beMascota);
		}
		
		public List<BEEspecie> obtenerEspeciesMascota()
		{
			DAOEspecie daoEspecie = new DAOEspecie();
			return daoEspecie.obtenerEspeciesMascota();
		}
		
		public int insertarNuevaMascota(BEMascota mascota)
		{
			DAOMascota daoMascota = new DAOMascota();
			return daoMascota.insertarNuevaMascota(mascota);			
		}
		
		public int actualizarMascota(BEMascota mascota)
		{
			DAOMascota daoMascota = new DAOMascota();
			return daoMascota.actualizarMascota(mascota);
		}
		
		public List<BEMascota> obtenerListaParejasMascotas(BESexo sexo, BERaza raza)
		{
			DAOMascota daoMascota = new DAOMascota();
			return daoMascota.obtenerListaParejasMascotas(sexo,raza);
		}
		//Uso el Id xq no lo van a buscar por otro parametro para buscar el historial
		public List<BELineaPedidoServicio> obtenerHistorialMascota(int id){
			DAOMascota daoMascota=new DAOMascota();
			return daoMascota.obtenerBDHistorialMascota(id);
		}
		
		public List<BEMascota> obtenerListaMascotasBuscaPareja()
		{
			DAOMascota daomascota = new DAOMascota();
			return daomascota.obtenerListaMascotasBuscaPareja();
		}
		
		public List<BEMascota> obtenerListaMascotasBuscaPareja(BEMascota mascota, DateTime fechaIni, DateTime fechaFin){
			DAOMascota daomascota = new DAOMascota();
			return daomascota.obtenerListaMascotasBuscaPareja(mascota,fechaIni,fechaFin);
		}
		
		public List<BEMascota> obtenerListaMascotasAdopcion()
		{
			DAOMascota daomascota = new DAOMascota();
			return daomascota.obtenerListaMascotasAdopcion();
		}
		
		public List<BEMascota> obtenerListaMascotasAdopcion(BEMascota mascota, DateTime fechaIni, DateTime fechaFin)
		{
			DAOMascota daomascota = new DAOMascota();
			return daomascota.obtenerListaMascotasAdopcion(mascota,fechaIni,fechaFin);
		}
		
		public int hacerMatchMascotas(BEMascota mascota1, BEMascota mascota2)
		{
			DAOMascota daoMascota = new DAOMascota();
			return daoMascota.hacerMatchMascotas(mascota1,mascota2);
		}	
		
		public int asignarDuenoMascota(BEMascota mascotaSeleccionada, BECliente clienteSeleccionado)
		{
			DAOMascota daoMascota = new DAOMascota();
			return daoMascota.asignarDuenoMascota(mascotaSeleccionada,clienteSeleccionado);
		}
		
		public Image buscarFotoMascota(BEMascota mascota)
		{
			DAOMascota daoMascota = new DAOMascota();
			return daoMascota.buscarFotoMascota(mascota);			
		}
		
		public int obtenerIDClienteNombre(){
			DAOMascota daoMascota = new DAOMascota();
			return daoMascota.obtenerIDClienteNombre();
		}
		
		public Boolean existeMascota(BEMascota mascota){
			DAOMascota daoMascota = new DAOMascota();
			return daoMascota.existeMascota(mascota);
		}
		
		
		public Boolean existeServicioPendiente(BEMascota mascota)
		{
			DAOMascota daoMascota = new DAOMascota();
			return daoMascota.existeServicioPendiente(mascota);
		}
    }
}
